package com.college.resource.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.college.common.pojo.ao.Notice;
import com.college.common.pojo.dto.resource.AddNoticeDTO;
import com.college.common.pojo.dto.resource.QueryNoticeDTO;
import com.college.common.pojo.dto.resource.UpdateNoticeDTO;
import com.college.common.pojo.model.page.PageParamRequest;
import com.college.common.response.CommonResult;

import java.util.List;

/**
 * 公告 服务类
 * @author 小C工作室
 * @since 2025-02-22
 */
public interface NoticeService extends IService<Notice> {

    /**
     * 获取公告集合
     *
     * @param queryNoticeDTO 查询对象
     * @return 公告集合
     */
    List<Notice> queryList(QueryNoticeDTO queryNoticeDTO);

    /**
     * 获取公告集合分页
     *
     * @param queryNoticeDTO 查询对象
     * @param pageParamRequest 分页对象
     * @return 公告集合
     */
    List<Notice> queryListPage(QueryNoticeDTO queryNoticeDTO, PageParamRequest pageParamRequest);

    /**
     * 新增公告
     *
     * @param addNoticeDTO 新增公告对象
     * @return 是否成功
     */
    CommonResult<String> addNotice(AddNoticeDTO addNoticeDTO);

    /**
     * 更新公告
     *
     * @param updateNoticeDTO 更新公告对象
     * @return 是否成功
     */
    CommonResult<String> updateNotice(UpdateNoticeDTO updateNoticeDTO);
}
